#pragma once

#include "CameraBase.h"

class RenderFacade;

class CameraManager
{
public:
	CameraManager(void);
	~CameraManager(void);

public:
	void Update( float dTime );
	void HandleEvent( UINT message, WPARAM wParam, LPARAM lParam );

public:
	void AddCamera( CameraType cameraType );
	BOOL DeleteCamera( CameraType cameraType );

	BOOL SetCurCamera( CameraType cameraType );
	CameraBase * GetCurCamera()	{ return m_pCurCamera; }

private:
	std::map<CameraType, CameraBase*> m_cameraMap;
	CameraBase * m_pCurCamera; 
};
